import type { IInfoBase, IPageQuery, IPageData, IResponse } from '../base'

/**
 * 角色数据接口
 */
export interface IRole extends IInfoBase {
  /** 角色id */
  roleId: string
  /** 角色名称 */
  name: string
  /** 角色介绍 */
  intro?: string
  /** 角色菜单id数组 */
  menuIds?: string[]
}

/**
 * 角色分页查询数据接口
 */
export type IRolePageQueryDto = IPageQuery &
  Partial<Pick<IRole, 'name' | 'intro' | 'createdAt'>>

/**
 * 角色分页数据接口
 */
export type IRolePageData = IPageData<IRole>

/**
 * 角色分页响应接口
 */
export type IRolePageResponse = IResponse<IRolePageData>
